With rapid growth of information and/or data transfer over a high-speed communication network such as 3G or 4G cellular services, managing and controlling such data transfer become increasingly difficult and complicated. To handle large amount of network traffic, a conventional network layout employs one or more communications networks such as Internet, LAN (local area network), and/or wireless networks having various network devices such as access switches, routers, and bridges to facilitate data delivery from source to destination.
A large number of network communication devices, such as switches and routers, typically contain one or more processors, microprocessors, central processing units (“CPUs”), network processors (“NPs”), processing engines (“PEs”), and the like. A function of a processor is to execute instruction based on its hardware design as well as loaded or installed software. Although hardware such as circuits and circuitry connections typically cannot be altered substantially once it is fabricated, software with new functions and/or fixes can typically be reinstalled as frequently as needed. For example, newly released software may be reloaded or reinstalled to an existing processor or CPU.
A drawback, however, associated with conventional software upgrade or modification on a network device is that it typically requires the device to stop operation and then upgrade its software. After upgrading or reinstalling new software, system or device rebooting is generally required. During system reinstallation and/or reboot, the device typically cannot provide network service whereby rendering network outage. Such network outage relating to a network system or device can negatively affect overall network performance.
A conventional approach to mitigate service interruption during software upgrade is to provide hardware redundancy, fast reboot, or rolling upgrade. A problem associated with hardware redundancy is that it increases in hardware complexity and added resources to implement the redundancy which means additional cost per port. Fast reboot/boot still causes outage of network service even though the outage duration is reduced. Furthermore, the problem associated with rolling upgrade is that different devices run on different versions of software because of discrepancy of upgrading time.